package com.bsj.travel.util.encipher;

import cn.hutool.core.util.RandomUtil;
import cn.hutool.crypto.digest.DigestAlgorithm;
import cn.hutool.crypto.digest.Digester;
import lombok.extern.slf4j.Slf4j;

/**
 * @author yinhao
 * @version 1.0
 * @description 设备秘钥生成
 * @date 2024/1/18
 */
@Slf4j
public class DeviceEncryptUtil {

    /**
     * 设备秘钥生成方法
     * @param productKey 产品key
     * @param deviceName 设备号
     * @return
     */
    public static String EncryptDevSecret(String productKey, String deviceName) {
        //待加密值为 设备号 + & + 产品key + 3位随机数
        String encryptStr = deviceName + "&" + productKey + RandomUtil.randomNumbers(3);
        Digester md5 = new Digester(DigestAlgorithm.MD5);
        String digestHex = md5.digestHex(encryptStr);
        log.info("设备秘钥： {}", digestHex);
        return digestHex;
    }
}
